/*
 * Vigenere.h
 *
 *  Created on: Nov 20, 2011
 *      Author: belu
 */

#ifndef VIGENERE_H_
#define VIGENERE_H_

#include "../Configuration/Properties.h"
#include <math.h>
#include <time.h>
#include <fstream>
#include <string>
#include <stdlib.h>

using namespace std;

class Vigenere
{
public:
	Vigenere(Properties* props);
	virtual ~Vigenere();
	
	string getSymbols();
	
	string encrypt(string msg);
	bool encrypt(string sourceFile, string destFile);
	
	string decrypt(string msg);
	bool decrypt(string sourceFile, string destFile);
	
private:
	string symbols;
	string key;
		
	vector<int> phi(string msg);
	string obtenerString(vector<int> mjeEncriptado);
};

#endif /*VIGENERE_H_*/
